(0) Obligation:

Runtime Complexity TRS:
The TRS R consists of the following rules:

active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Rewrite Strategy: FULL

(1) RenamingProof (EQUIVALENT transformation)

Renamed function symbols to avoid clashes with predefined symbol.

(2) Obligation:

Runtime Complexity Relative TRS:
The TRS R consists of the following rules:

active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

S is empty.
Rewrite Strategy: FULL

(3) TypeInferenceProof (BOTH BOUNDS(ID, ID) transformation)

Infered types.

(4) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

(5) OrderProof (LOWER BOUND(ID) transformation)

Heuristically decided to analyse the following defined symbols:
active, f, chk, mat, tp

They will be analysed ascendingly in the following order:
active = f
active < chk
f < chk
f < mat
f < tp
mat < chk
chk < tp
mat < tp

(6) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

The following defined symbols remain to be analysed:
f, active, chk, mat, tp

They will be analysed ascendingly in the following order:
active = f
active < chk
f < chk
f < mat
f < tp
mat < chk
chk < tp
mat < tp

(7) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Induction Base:
f(gen_mark:no:X:y:c3_0(+(1, 0)))

Induction Step:
f(gen_mark:no:X:y:c3_0(+(1, +(n5_0, 1)))) →RΩ(1)
mark(f(gen_mark:no:X:y:c3_0(+(1, n5_0)))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(8) Complex Obligation (BEST)

(9) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Lemmas:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

The following defined symbols remain to be analysed:
active, chk, mat, tp

They will be analysed ascendingly in the following order:
active = f
active < chk
f < chk
f < mat
f < tp
mat < chk
chk < tp
mat < tp

(10) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)

Could not prove a rewrite lemma for the defined symbol active.

(11) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Lemmas:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

The following defined symbols remain to be analysed:
mat, chk, tp

They will be analysed ascendingly in the following order:
mat < chk
chk < tp
mat < tp

(12) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)

Could not prove a rewrite lemma for the defined symbol mat.

(13) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Lemmas:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

The following defined symbols remain to be analysed:
chk, tp

They will be analysed ascendingly in the following order:
chk < tp

(14) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)

Could not prove a rewrite lemma for the defined symbol chk.

(15) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Lemmas:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

The following defined symbols remain to be analysed:
tp

(16) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)

Could not prove a rewrite lemma for the defined symbol tp.

(17) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Lemmas:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

No more defined symbols left to analyse.

(18) LowerBoundsProof (EQUIVALENT transformation)

The lowerbound Ω(n1) was proven with the following lemma:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

(19) BOUNDS(n^1, INF)

(20) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Lemmas:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

No more defined symbols left to analyse.

(21) LowerBoundsProof (EQUIVALENT transformation)

The lowerbound Ω(n1) was proven with the following lemma:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

(22) BOUNDS(n^1, INF)